* lread.c (read_integer): Be more consistent with string-to-number.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 May 2011 02:58:08 +0000 (19:58 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 May 2011 02:58:08 +0000 (19:58 -0700)
commit28f68f828d1fd6cc80f661489c4bdbe0e31cbe42
treedb64e4c7b0bdb5515120bee3e9734ab5d1f4670e
parentd96f21e58d6b153aeb525480996970d4a4f4d7cc
* lread.c (read_integer): Be more consistent with string-to-number.

Use string_to_number to do the actual conversion; this avoids
rounding errors and fixes some other screwups.  Without this fix,
for example, #x1fffffffffffffff was misread as -2305843009213693952.
(digit_to_number): Move earlier, for benefit of read_integer.
Return -1 if the digit is out of range for the base, -2 if it is
not a digit in any supported base.
src/ChangeLog
src/lread.c